package BehaviorDesignPattern.ObserverPattern;

public class TestObserverPattern {
    public static void main(String[] args) {
        ConcreteSubject subject = new ConcreteSubject();

        ConcreteObserver observer1 = new ConcreteObserver("观察者 1");
        ConcreteObserver observer2 = new ConcreteObserver("观察者 2");

        subject.attach(observer1); // 注册观察者 1
        subject.attach(observer2); // 注册观察者 2

        subject.setMessage("你好，观察者！"); // 设置状态信息并通知所有观察者

        subject.detach(observer1); // 移除观察者 1

        subject.setMessage("另一个消息！"); // 设置新的状态信息并通知剩下的观察者
    }
}
